#include <iostream>
#include <vector>
using namespace std;

int n,k,a,minPriceNum = 0,vis[100005] = {0};
double p,r,minPrice = 0x3f3f3f;
vector<int> child[100005];

void dfs(int root,double price){
    if(child[root].empty()){
        if(price<minPrice){
            minPriceNum = 1;
            minPrice = price;
        }
        else if(price==minPrice)    minPriceNum++;
    }
    for(int i=0;i<child[root].size();i++){
        dfs(child[root][i],price+price*0.01*r);
    }
}

signed main()
{
    cin>>n>>p>>r;
    for(int i=0;i<n;i++){
        cin>>k;
        for(int j=0;j<k;j++){
            cin>>a;
            child[i].push_back(a);
            vis[a] = 1;
        }
    }
    int root;
    for(int i=0;i<n;i++)    if(!vis[i])    root = i;
    dfs(root,p);
    printf("%.4f %d",minPrice,minPriceNum);
    return 0;
}
